Balises sémantiques
Pour construire visuellement une page web, on utilise massivement les boîtes comme la <div></div>
.
Depuis HTML5, un certain nombre de nouvelles balises à été créé pour apporter de la sémantique à certaines boîtes importantes. Elles ont le même comportement et la même utilité que la div mais avec de la sémantique en plus.
Ces nouvelle balises sont :
<!-- Conteneur du contenu majoritaire de la page -->
<main></main>
<!-- Conteneur d'une section générique de la page (si le contenu est indépendant du contexte, plutôt utiliser <article>) -->
<section></section>
<!-- Conteneur des menus de navigation avec des liens -->
<nav></nav>
<!-- Conteneur ayant du contenu indépendant du reste de la page -->
<article></article>
<!-- Conteneur des blocs un peu à part sur la page dont le contenu n'a qu'un rapport indirect avec le contenu principal de la page (comme les sidebars sur le côté) -->
<aside></aside>
<!-- Conteneur des éléments d'en-tête des contenus (titre par exemple) -->
<header></header>
<!-- Conteneur des pieds de page des éléments (page, article, etc...) -->
<footer></footer>
Attention : les anciennes versions d'internet explorer ne supportent pas ces nouvelles div sémantiques. Il est possible de les faire fonctionner quand même grâce à ce code à mettre dans le head de la page :
<head>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
</head>